meson: allow building man pages without the documentation
authorChristoph Reiter <creiter@src.gnome.org>
Sat, 25 May 2019 16:27:32 +0000 (18:27 +0200)
committerChristoph Reiter <creiter@src.gnome.org>
Sat, 25 May 2019 16:33:01 +0000 (18:33 +0200)
The 'documentation' option also guarded the man page build. Instead
if skipping the whole docs subdir skip the specific gtkdoc calls, so that the
man page build still works.

This brings it in line with the gtk3 meson build.

docs/reference/gdk/meson.build
docs/reference/gsk/meson.build
docs/reference/gtk/meson.build
docs/reference/meson.build
docs/tools/meson.build
meson.build

index 6df0882ec78c463087d740a495fcba4975d8d12b..39ce4b3d42f7e66d4d8fc783f251e329e3f6cbb2 100644 (file)
@@ -99,24 +99,26 @@ if wayland_enabled
   src_dir += [ gdkwayland_inc ]
 endif
 
-configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
+if get_option('documentation')
+  configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
 
-gnome.gtkdoc('gdk4',
-             mode: 'none',
-             main_xml: 'gdk4-docs.xml',
-             src_dir: src_dir,
-             dependencies: libgtk_dep,
-             gobject_typesfile: join_paths(meson.current_source_dir(), 'gdk4.types'),
-             scan_args: [
-               '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
-               '--ignore-headers=' + ' '.join(private_headers),
-             ],
-             fixxref_args: [
-               '--html-dir=@0@'.format(docpath),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
-               '--extra-dir=@0@'.format(cairo_docpath),
-             ],
-             html_assets: images,
-             install: true)
+  gnome.gtkdoc('gdk4',
+               mode: 'none',
+               main_xml: 'gdk4-docs.xml',
+               src_dir: src_dir,
+               dependencies: libgtk_dep,
+               gobject_typesfile: join_paths(meson.current_source_dir(), 'gdk4.types'),
+               scan_args: [
+                 '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
+                 '--ignore-headers=' + ' '.join(private_headers),
+               ],
+               fixxref_args: [
+                 '--html-dir=@0@'.format(docpath),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+                 '--extra-dir=@0@'.format(cairo_docpath),
+               ],
+               html_assets: images,
+               install: true)
+endif
index 8ef9a7cc48f804afbef8aa118046be6b583a867c..7e33a9bad3dd45196bf35e427b727953da53b720 100644 (file)
@@ -34,27 +34,29 @@ private_headers = [
 images = [
 ]
 
-configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
+if get_option('documentation')
+  configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
 
-gnome.gtkdoc('gsk4',
-             mode: 'none',
-             main_xml: 'gsk4-docs.xml',
-             src_dir: [
-               gskinc,
-            ],
-             dependencies: libgtk_dep,
-             gobject_typesfile: join_paths(meson.current_source_dir(), 'gsk4.types'),
-             scan_args: [
-               '--ignore-decorators=_GDK_EXTERN',
-               '--ignore-headers=' + ' '.join(private_headers),
-             ],
-             fixxref_args: [
-               '--html-dir=@0@'.format(docpath),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
-               '--extra-dir=@0@'.format(cairo_docpath),
-              '--extra-dir=../gdk',
-             ],
-             html_assets: images,
-             install: true)
+  gnome.gtkdoc('gsk4',
+               mode: 'none',
+               main_xml: 'gsk4-docs.xml',
+               src_dir: [
+                 gskinc,
+               ],
+               dependencies: libgtk_dep,
+               gobject_typesfile: join_paths(meson.current_source_dir(), 'gsk4.types'),
+               scan_args: [
+                 '--ignore-decorators=_GDK_EXTERN',
+                 '--ignore-headers=' + ' '.join(private_headers),
+               ],
+               fixxref_args: [
+                 '--html-dir=@0@'.format(docpath),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+                 '--extra-dir=@0@'.format(cairo_docpath),
+                 '--extra-dir=../gdk',
+               ],
+               html_assets: images,
+               install: true)
+endif
index 609cf28faf8c004dce133edf36691a2bd33917c3..3f8bae6ad2342a24633b7e33c8490fc3894782ec 100644 (file)
@@ -381,9 +381,6 @@ expand_content_files = [
   'tree_widget.sgml',
 ]
 
-configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
-configure_file(input: 'getting_started.xml.in', output: 'getting_started.xml', configuration: src_dir_conf)
-
 types_conf = configuration_data()
 if os_win32
   types_conf.set('DISABLE_ON_W32', '%')
@@ -397,39 +394,44 @@ else
   types_conf.set('DISABLE_ON_QUARTZ', '')
 endif
 
-gnome.gtkdoc('gtk4',
-             mode: 'none',
-             main_xml: 'gtk4-docs.xml',
-             src_dir: [
-               gtkinc,
-            ],
-             dependencies: libgtk_dep,
-             gobject_typesfile: configure_file(
-               input: 'gtk4.types.in',
-               output: 'gtk4.types',
-               configuration: types_conf,
-             ),
-             scan_args: [
-               '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
-               '--ignore-headers=' + ' '.join(private_headers),
-             ],
-             mkdb_args: [
-               '--default-includes=gtk/gtk.h',
-             ],
-             fixxref_args: [
-               '--html-dir=@0@'.format(docpath),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
-               '--extra-dir=@0@'.format(cairo_docpath),
-               '--extra-dir=@0@'.format(gdkpixbuf_docpath),
-              '--extra-dir=../gdk',
-              '--extra-dir=../gsk',
-             ],
-             content_files: content_files,
-             expand_content_files: expand_content_files,
-             html_assets: images,
-             install: true)
+if get_option('documentation')
+  configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
+  configure_file(input: 'getting_started.xml.in', output: 'getting_started.xml', configuration: src_dir_conf)
+
+  gnome.gtkdoc('gtk4',
+               mode: 'none',
+               main_xml: 'gtk4-docs.xml',
+               src_dir: [
+                 gtkinc,
+               ],
+               dependencies: libgtk_dep,
+               gobject_typesfile: configure_file(
+                 input: 'gtk4.types.in',
+                 output: 'gtk4.types',
+                 configuration: types_conf,
+               ),
+               scan_args: [
+                 '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
+                 '--ignore-headers=' + ' '.join(private_headers),
+               ],
+               mkdb_args: [
+                 '--default-includes=gtk/gtk.h',
+               ],
+               fixxref_args: [
+                 '--html-dir=@0@'.format(docpath),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+                 '--extra-dir=@0@'.format(cairo_docpath),
+                 '--extra-dir=@0@'.format(gdkpixbuf_docpath),
+                 '--extra-dir=../gdk',
+                 '--extra-dir=../gsk',
+               ],
+               content_files: content_files,
+               expand_content_files: expand_content_files,
+               html_assets: images,
+               install: true)
+endif
 
 xsltproc = find_program('xsltproc', required: false)
 if get_option('man-pages') and not xsltproc.found()
index d69068124e970dc77b75966142610c7a7cc9ed0c..55b0fb9e470b9c74b2b97a58c6ddd237a5ad31f1 100644 (file)
@@ -1,19 +1,21 @@
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
+if get_option('documentation')
+  glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
+  glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
 
-cairo_prefix = dependency('cairo-gobject').get_pkgconfig_variable('prefix')
-cairo_docpath = join_paths(cairo_prefix, 'share', 'gtk-doc', 'html', 'cairo')
+  cairo_prefix = dependency('cairo-gobject').get_pkgconfig_variable('prefix')
+  cairo_docpath = join_paths(cairo_prefix, 'share', 'gtk-doc', 'html', 'cairo')
 
-gdkpixbuf_prefix = dependency('gdk-pixbuf-2.0').get_pkgconfig_variable('prefix')
-gdkpixbuf_docpath = join_paths(gdkpixbuf_prefix, 'share', 'gtk-doc', 'html', 'gdk-pixbuf')
+  gdkpixbuf_prefix = dependency('gdk-pixbuf-2.0').get_pkgconfig_variable('prefix')
+  gdkpixbuf_docpath = join_paths(gdkpixbuf_prefix, 'share', 'gtk-doc', 'html', 'gdk-pixbuf')
 
-docpath = join_paths(gtk_datadir, 'gtk-doc', 'html')
+  docpath = join_paths(gtk_datadir, 'gtk-doc', 'html')
 
-version_conf = configuration_data()
-version_conf.set('GTK_VERSION', meson.project_version())
+  version_conf = configuration_data()
+  version_conf.set('GTK_VERSION', meson.project_version())
 
-src_dir_conf = configuration_data()
-src_dir_conf.set('SRC_DIR', meson.source_root())
+  src_dir_conf = configuration_data()
+  src_dir_conf.set('SRC_DIR', meson.source_root())
+endif
 
 subdir('gdk')
 subdir('gsk')
index 05621ee7ed09803a179182acc3aa236f67368079..5de632f14176373f6207ecf0bcbc64303910622d 100644 (file)
@@ -1,4 +1,4 @@
-if x11_enabled
+if x11_enabled and get_option('documentation')
   doc_shooter_sources = [
     'shadow.c',
     'shooter.c',
index 2189ee8b610abcc94db73a03d38db2adb7b84fc7..97cc7fdf281a4d3c9710c1ef55fb815fa3526754 100644 (file)
@@ -790,10 +790,8 @@ endif
 subdir('po')
 subdir('po-properties')
 
-if get_option('documentation')
-  subdir('docs/tools')
-  subdir('docs/reference')
-endif
+subdir('docs/tools')
+subdir('docs/reference')
 
 # Keep this in sync with post-install.sh expected arguments
 meson.add_install_script('build-aux/meson/post-install.py',
@@ -815,6 +813,7 @@ summary = [
   '    Colord support: @0@'.format(get_option('colord')),
   '     Introspection: @0@'.format(get_option('introspection')),
   '     Documentation: @0@'.format(get_option('documentation')),
+  '         Man pages: @0@'.format(get_option('man-pages')),
   '       Build tests: @0@'.format(get_option('build-tests')),
   '     Install tests: @0@'.format(get_option('install-tests')),
   '             Demos: @0@'.format(get_option('demos')),